package com.lft.queue01;

import java.util.Scanner;

public class ArrayQueueDemo {
	public static void main(String[] args) {
		ArrayQueue queue = new ArrayQueue(3);
		// 接收用户输入
		char key;
		
		Scanner scanner = new Scanner(System.in);
		boolean loop = true;
		
		// 输出一个菜单
		while (loop) {
			System.out.println("*****************************");
			System.out.println("s(show)：显示队列");
			System.out.println("e(exit)：退出程序");
			System.out.println("a(add)：添加数据到队列");
			System.out.println("g(get)：从队列中取出数据");
			System.out.println("h(head)：查看队列头的数据");
			
			// 接收一个字符
			key = scanner.next().charAt(0);
			
			switch (key) {
				// 显示队列
				case 's':
					queue.showQueue();
					break;
				
				// 添加数据到队列
				case 'a':
					System.out.println("请输一份入数据：");
					Object value = scanner.next();
					queue.addQueue(value);
					break;
				
				// 从队列中取出数据
				case 'g':
					try {
						Object res = queue.getQueue();
						System.out.printf("取出的数据是:%s\n", res);
					} catch (Exception e) {
						System.out.println(e.getMessage());
					}
					break;
				
				// 查看队列头的数据
				case 'h':
					try {
						Object res = queue.headQueue();
						System.out.printf("队列头的数据是:%s\n", res);
					} catch (Exception e) {
						System.out.println(e.getMessage());
					}
					break;
				
				// 显示队列
				case 'e':
					scanner.close();
					loop = false;
					break;
				
				default:
					break;
			}
		}
		System.out.println("程序退出");
	}
}
